// 蜂窝蜜造平台生成代码，如手工更改，请添加到 .beeignore 忽略生成

package com.fowo.api.model.adjust.price.queue;

import com.fowo.api.common.annotaion.DataObjectType;
import com.fowo.api.common.meta.MetaDataObject;
import com.fowo.api.common.meta.MetaDataObjects;
import com.fowo.api.common.model.PageSearch;
import com.fowo.api.common.mybatis.helper.PageSearchHelper;
import com.fowo.api.common.util.ListUtils;
import com.fowo.api.entity.AdjustPriceQueue;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

@DataObjectType(AdjustPriceQueue.class)
@Setter
@Getter
public class AdjustPriceQueueSearchParamPo extends PageSearch {

  private static MetaDataObject metaDataObject;

  @Override
  public void applySqlSegments() {
    if (metaDataObject == null) {
      metaDataObject =
        ListUtils.find(
          MetaDataObjects.getObjects(),
          o -> "AdjustPriceQueue".equals(o.getName())
        );
    }
    PageSearchHelper.fillSqlSegments(this, metaDataObject);
  }

  @Override
  public void initFinal() {
    super.initFinal();
    applySqlSegments();
  }

  /**
   * 获取关联字段的查询表别名信息
   */
  @Override
  public Map<String, String> getJoinFieldTableAliasMap() {
    Map<String, String> map = new HashMap<>();
    map.put("shop", "si");
    map.put("country", "sc");
    return map;
  }

  @Override
  public Map<String, OptionalJoinField> getOptionalJoinFields() {
    Map<String, OptionalJoinField> map = new HashMap<>();

    return map;
  }

  /**
   * 编号
   */
  private Long id;

  /**
   * 最小编号
   */
  private Long idMin;

  /**
   * 最大编号
   */
  private Long idMax;

  /**
   * 编号 比较(eq)
   */
  private Long idEq;
  /**
   * 编号 比较(neq)
   */
  private Long idNeq;
  /**
   * 编号 比较(gt)
   */
  private Long idGt;
  /**
   * 编号 比较(gte)
   */
  private Long idGte;
  /**
   * 编号 比较(lt)
   */
  private Long idLt;
  /**
   * 编号 比较(lte)
   */
  private Long idLte;
  /**
   * 编号 比较(contains)
   */
  private Long idContains;
  /**
   * 编号 比较(notcontains)
   */
  private Long idNotcontains;
  /**
   * 编号 比较(startswith)
   */
  private Long idStartswith;
  /**
   * 编号 比较(endswith)
   */
  private Long idEndswith;
  /**
   * 编号 比较(isnull)
   */
  private Boolean idIsnull;
  /**
   * 编号 比较(isnotnull)
   */
  private Boolean idIsnotnull;

  /**
   * 最早创建时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date createTimeStart;

  /**
   * 最晚创建时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date createTimeEnd;

  /**
   * 创建时间 比较(eq)
   */
  private Date createTimeEq;
  /**
   * 创建时间 比较(neq)
   */
  private Date createTimeNeq;
  /**
   * 创建时间 比较(gt)
   */
  private Date createTimeGt;
  /**
   * 创建时间 比较(gte)
   */
  private Date createTimeGte;
  /**
   * 创建时间 比较(lt)
   */
  private Date createTimeLt;
  /**
   * 创建时间 比较(lte)
   */
  private Date createTimeLte;
  /**
   * 创建时间 比较(contains)
   */
  private Date createTimeContains;
  /**
   * 创建时间 比较(notcontains)
   */
  private Date createTimeNotcontains;
  /**
   * 创建时间 比较(startswith)
   */
  private Date createTimeStartswith;
  /**
   * 创建时间 比较(endswith)
   */
  private Date createTimeEndswith;
  /**
   * 创建时间 比较(isnull)
   */
  private Boolean createTimeIsnull;
  /**
   * 创建时间 比较(isnotnull)
   */
  private Boolean createTimeIsnotnull;

  /**
   * 创建人
   */
  private Long createUser;

  /**
   * 最小创建人
   */
  private Long createUserMin;

  /**
   * 最大创建人
   */
  private Long createUserMax;

  /**
   * 创建人 比较(eq)
   */
  private Long createUserEq;
  /**
   * 创建人 比较(neq)
   */
  private Long createUserNeq;
  /**
   * 创建人 比较(gt)
   */
  private Long createUserGt;
  /**
   * 创建人 比较(gte)
   */
  private Long createUserGte;
  /**
   * 创建人 比较(lt)
   */
  private Long createUserLt;
  /**
   * 创建人 比较(lte)
   */
  private Long createUserLte;
  /**
   * 创建人 比较(contains)
   */
  private Long createUserContains;
  /**
   * 创建人 比较(notcontains)
   */
  private Long createUserNotcontains;
  /**
   * 创建人 比较(startswith)
   */
  private Long createUserStartswith;
  /**
   * 创建人 比较(endswith)
   */
  private Long createUserEndswith;
  /**
   * 创建人 比较(isnull)
   */
  private Boolean createUserIsnull;
  /**
   * 创建人 比较(isnotnull)
   */
  private Boolean createUserIsnotnull;

  /**
   * 最早更新时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date lastUpdateTimeStart;

  /**
   * 最晚更新时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date lastUpdateTimeEnd;

  /**
   * 更新时间 比较(eq)
   */
  private Date lastUpdateTimeEq;
  /**
   * 更新时间 比较(neq)
   */
  private Date lastUpdateTimeNeq;
  /**
   * 更新时间 比较(gt)
   */
  private Date lastUpdateTimeGt;
  /**
   * 更新时间 比较(gte)
   */
  private Date lastUpdateTimeGte;
  /**
   * 更新时间 比较(lt)
   */
  private Date lastUpdateTimeLt;
  /**
   * 更新时间 比较(lte)
   */
  private Date lastUpdateTimeLte;
  /**
   * 更新时间 比较(contains)
   */
  private Date lastUpdateTimeContains;
  /**
   * 更新时间 比较(notcontains)
   */
  private Date lastUpdateTimeNotcontains;
  /**
   * 更新时间 比较(startswith)
   */
  private Date lastUpdateTimeStartswith;
  /**
   * 更新时间 比较(endswith)
   */
  private Date lastUpdateTimeEndswith;
  /**
   * 更新时间 比较(isnull)
   */
  private Boolean lastUpdateTimeIsnull;
  /**
   * 更新时间 比较(isnotnull)
   */
  private Boolean lastUpdateTimeIsnotnull;

  /**
   * 更新人
   */
  private Long lastUpdateUser;

  /**
   * 最小更新人
   */
  private Long lastUpdateUserMin;

  /**
   * 最大更新人
   */
  private Long lastUpdateUserMax;

  /**
   * 更新人 比较(eq)
   */
  private Long lastUpdateUserEq;
  /**
   * 更新人 比较(neq)
   */
  private Long lastUpdateUserNeq;
  /**
   * 更新人 比较(gt)
   */
  private Long lastUpdateUserGt;
  /**
   * 更新人 比较(gte)
   */
  private Long lastUpdateUserGte;
  /**
   * 更新人 比较(lt)
   */
  private Long lastUpdateUserLt;
  /**
   * 更新人 比较(lte)
   */
  private Long lastUpdateUserLte;
  /**
   * 更新人 比较(contains)
   */
  private Long lastUpdateUserContains;
  /**
   * 更新人 比较(notcontains)
   */
  private Long lastUpdateUserNotcontains;
  /**
   * 更新人 比较(startswith)
   */
  private Long lastUpdateUserStartswith;
  /**
   * 更新人 比较(endswith)
   */
  private Long lastUpdateUserEndswith;
  /**
   * 更新人 比较(isnull)
   */
  private Boolean lastUpdateUserIsnull;
  /**
   * 更新人 比较(isnotnull)
   */
  private Boolean lastUpdateUserIsnotnull;

  /**
   * MSKU(模糊搜索)
   */
  private String msku;

  /**
   * MSKU 比较(eq)
   */
  private String mskuEq;
  /**
   * MSKU 比较(neq)
   */
  private String mskuNeq;
  /**
   * MSKU 比较(gt)
   */
  private String mskuGt;
  /**
   * MSKU 比较(gte)
   */
  private String mskuGte;
  /**
   * MSKU 比较(lt)
   */
  private String mskuLt;
  /**
   * MSKU 比较(lte)
   */
  private String mskuLte;
  /**
   * MSKU 比较(contains)
   */
  private String mskuContains;
  /**
   * MSKU 比较(notcontains)
   */
  private String mskuNotcontains;
  /**
   * MSKU 比较(startswith)
   */
  private String mskuStartswith;
  /**
   * MSKU 比较(endswith)
   */
  private String mskuEndswith;
  /**
   * MSKU 比较(isnull)
   */
  private Boolean mskuIsnull;
  /**
   * MSKU 比较(isnotnull)
   */
  private Boolean mskuIsnotnull;

  /**
   * MSKU(精确搜索)
   */
  private List<String> mskuInList;

  /**
   * FNSKU(模糊搜索)
   */
  private String fnsku;

  /**
   * FNSKU 比较(eq)
   */
  private String fnskuEq;
  /**
   * FNSKU 比较(neq)
   */
  private String fnskuNeq;
  /**
   * FNSKU 比较(gt)
   */
  private String fnskuGt;
  /**
   * FNSKU 比较(gte)
   */
  private String fnskuGte;
  /**
   * FNSKU 比较(lt)
   */
  private String fnskuLt;
  /**
   * FNSKU 比较(lte)
   */
  private String fnskuLte;
  /**
   * FNSKU 比较(contains)
   */
  private String fnskuContains;
  /**
   * FNSKU 比较(notcontains)
   */
  private String fnskuNotcontains;
  /**
   * FNSKU 比较(startswith)
   */
  private String fnskuStartswith;
  /**
   * FNSKU 比较(endswith)
   */
  private String fnskuEndswith;
  /**
   * FNSKU 比较(isnull)
   */
  private Boolean fnskuIsnull;
  /**
   * FNSKU 比较(isnotnull)
   */
  private Boolean fnskuIsnotnull;

  /**
   * FNSKU(精确搜索)
   */
  private List<String> fnskuInList;

  /**
   * ASIN(模糊搜索)
   */
  private String asin;

  /**
   * ASIN 比较(eq)
   */
  private String asinEq;
  /**
   * ASIN 比较(neq)
   */
  private String asinNeq;
  /**
   * ASIN 比较(gt)
   */
  private String asinGt;
  /**
   * ASIN 比较(gte)
   */
  private String asinGte;
  /**
   * ASIN 比较(lt)
   */
  private String asinLt;
  /**
   * ASIN 比较(lte)
   */
  private String asinLte;
  /**
   * ASIN 比较(contains)
   */
  private String asinContains;
  /**
   * ASIN 比较(notcontains)
   */
  private String asinNotcontains;
  /**
   * ASIN 比较(startswith)
   */
  private String asinStartswith;
  /**
   * ASIN 比较(endswith)
   */
  private String asinEndswith;
  /**
   * ASIN 比较(isnull)
   */
  private Boolean asinIsnull;
  /**
   * ASIN 比较(isnotnull)
   */
  private Boolean asinIsnotnull;

  /**
   * ASIN(精确搜索)
   */
  private List<String> asinInList;

  /**
   * 店铺
   */
  private Long shop;

  /**
   * 店铺 比较(eq)
   */
  private Long shopEq;
  /**
   * 店铺 比较(neq)
   */
  private Long shopNeq;
  /**
   * 店铺 比较(gt)
   */
  private Long shopGt;
  /**
   * 店铺 比较(gte)
   */
  private Long shopGte;
  /**
   * 店铺 比较(lt)
   */
  private Long shopLt;
  /**
   * 店铺 比较(lte)
   */
  private Long shopLte;
  /**
   * 店铺 比较(contains)
   */
  private Long shopContains;
  /**
   * 店铺 比较(notcontains)
   */
  private Long shopNotcontains;
  /**
   * 店铺 比较(startswith)
   */
  private Long shopStartswith;
  /**
   * 店铺 比较(endswith)
   */
  private Long shopEndswith;
  /**
   * 店铺 比较(isnull)
   */
  private Boolean shopIsnull;
  /**
   * 店铺 比较(isnotnull)
   */
  private Boolean shopIsnotnull;
  /**
   * 店铺的名称 比较(eq)
   */
  private String shopShopNameEq;
  /**
   * 店铺的名称 比较(neq)
   */
  private String shopShopNameNeq;
  /**
   * 店铺的名称 比较(gt)
   */
  private String shopShopNameGt;
  /**
   * 店铺的名称 比较(gte)
   */
  private String shopShopNameGte;
  /**
   * 店铺的名称 比较(lt)
   */
  private String shopShopNameLt;
  /**
   * 店铺的名称 比较(lte)
   */
  private String shopShopNameLte;
  /**
   * 店铺的名称 比较(contains)
   */
  private String shopShopNameContains;
  /**
   * 店铺的名称 比较(notcontains)
   */
  private String shopShopNameNotcontains;
  /**
   * 店铺的名称 比较(startswith)
   */
  private String shopShopNameStartswith;
  /**
   * 店铺的名称 比较(endswith)
   */
  private String shopShopNameEndswith;
  /**
   * 店铺的名称 比较(isnull)
   */
  private Boolean shopShopNameIsnull;
  /**
   * 店铺的名称 比较(isnotnull)
   */
  private Boolean shopShopNameIsnotnull;

  /**
   * 店铺(范围搜索)
   */
  private List<Long> shopInList;

  /**
   * 国家
   */
  private Long country;

  /**
   * 国家 比较(eq)
   */
  private Long countryEq;
  /**
   * 国家 比较(neq)
   */
  private Long countryNeq;
  /**
   * 国家 比较(gt)
   */
  private Long countryGt;
  /**
   * 国家 比较(gte)
   */
  private Long countryGte;
  /**
   * 国家 比较(lt)
   */
  private Long countryLt;
  /**
   * 国家 比较(lte)
   */
  private Long countryLte;
  /**
   * 国家 比较(contains)
   */
  private Long countryContains;
  /**
   * 国家 比较(notcontains)
   */
  private Long countryNotcontains;
  /**
   * 国家 比较(startswith)
   */
  private Long countryStartswith;
  /**
   * 国家 比较(endswith)
   */
  private Long countryEndswith;
  /**
   * 国家 比较(isnull)
   */
  private Boolean countryIsnull;
  /**
   * 国家 比较(isnotnull)
   */
  private Boolean countryIsnotnull;
  /**
   * 国家的国家 比较(eq)
   */
  private String countryCountryEq;
  /**
   * 国家的国家 比较(neq)
   */
  private String countryCountryNeq;
  /**
   * 国家的国家 比较(gt)
   */
  private String countryCountryGt;
  /**
   * 国家的国家 比较(gte)
   */
  private String countryCountryGte;
  /**
   * 国家的国家 比较(lt)
   */
  private String countryCountryLt;
  /**
   * 国家的国家 比较(lte)
   */
  private String countryCountryLte;
  /**
   * 国家的国家 比较(contains)
   */
  private String countryCountryContains;
  /**
   * 国家的国家 比较(notcontains)
   */
  private String countryCountryNotcontains;
  /**
   * 国家的国家 比较(startswith)
   */
  private String countryCountryStartswith;
  /**
   * 国家的国家 比较(endswith)
   */
  private String countryCountryEndswith;
  /**
   * 国家的国家 比较(isnull)
   */
  private Boolean countryCountryIsnull;
  /**
   * 国家的国家 比较(isnotnull)
   */
  private Boolean countryCountryIsnotnull;

  /**
   * 国家(范围搜索)
   */
  private List<Long> countryInList;

  /**
   * 调整前(模糊搜索)
   */
  private String beforePrice;

  /**
   * 调整前 比较(eq)
   */
  private String beforePriceEq;
  /**
   * 调整前 比较(neq)
   */
  private String beforePriceNeq;
  /**
   * 调整前 比较(gt)
   */
  private String beforePriceGt;
  /**
   * 调整前 比较(gte)
   */
  private String beforePriceGte;
  /**
   * 调整前 比较(lt)
   */
  private String beforePriceLt;
  /**
   * 调整前 比较(lte)
   */
  private String beforePriceLte;
  /**
   * 调整前 比较(contains)
   */
  private String beforePriceContains;
  /**
   * 调整前 比较(notcontains)
   */
  private String beforePriceNotcontains;
  /**
   * 调整前 比较(startswith)
   */
  private String beforePriceStartswith;
  /**
   * 调整前 比较(endswith)
   */
  private String beforePriceEndswith;
  /**
   * 调整前 比较(isnull)
   */
  private Boolean beforePriceIsnull;
  /**
   * 调整前 比较(isnotnull)
   */
  private Boolean beforePriceIsnotnull;

  /**
   * 调整前(精确搜索)
   */
  private List<String> beforePriceInList;

  /**
   * 调整后(模糊搜索)
   */
  private String laterPrice;

  /**
   * 调整后 比较(eq)
   */
  private String laterPriceEq;
  /**
   * 调整后 比较(neq)
   */
  private String laterPriceNeq;
  /**
   * 调整后 比较(gt)
   */
  private String laterPriceGt;
  /**
   * 调整后 比较(gte)
   */
  private String laterPriceGte;
  /**
   * 调整后 比较(lt)
   */
  private String laterPriceLt;
  /**
   * 调整后 比较(lte)
   */
  private String laterPriceLte;
  /**
   * 调整后 比较(contains)
   */
  private String laterPriceContains;
  /**
   * 调整后 比较(notcontains)
   */
  private String laterPriceNotcontains;
  /**
   * 调整后 比较(startswith)
   */
  private String laterPriceStartswith;
  /**
   * 调整后 比较(endswith)
   */
  private String laterPriceEndswith;
  /**
   * 调整后 比较(isnull)
   */
  private Boolean laterPriceIsnull;
  /**
   * 调整后 比较(isnotnull)
   */
  private Boolean laterPriceIsnotnull;

  /**
   * 调整后(精确搜索)
   */
  private List<String> laterPriceInList;

  /**
   * 处理状态
   */
  private String status;

  /**
   * 处理状态 比较(eq)
   */
  private String statusEq;
  /**
   * 处理状态 比较(neq)
   */
  private String statusNeq;
  /**
   * 处理状态 比较(gt)
   */
  private String statusGt;
  /**
   * 处理状态 比较(gte)
   */
  private String statusGte;
  /**
   * 处理状态 比较(lt)
   */
  private String statusLt;
  /**
   * 处理状态 比较(lte)
   */
  private String statusLte;
  /**
   * 处理状态 比较(contains)
   */
  private String statusContains;
  /**
   * 处理状态 比较(notcontains)
   */
  private String statusNotcontains;
  /**
   * 处理状态 比较(startswith)
   */
  private String statusStartswith;
  /**
   * 处理状态 比较(endswith)
   */
  private String statusEndswith;
  /**
   * 处理状态 比较(isnull)
   */
  private Boolean statusIsnull;
  /**
   * 处理状态 比较(isnotnull)
   */
  private Boolean statusIsnotnull;

  /**
   * 处理状态(精确搜索)
   */
  private List<String> statusInList;

  /**
   * 最早完成时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date finishTimeStart;

  /**
   * 最晚完成时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date finishTimeEnd;

  /**
   * 完成时间 比较(eq)
   */
  private Date finishTimeEq;
  /**
   * 完成时间 比较(neq)
   */
  private Date finishTimeNeq;
  /**
   * 完成时间 比较(gt)
   */
  private Date finishTimeGt;
  /**
   * 完成时间 比较(gte)
   */
  private Date finishTimeGte;
  /**
   * 完成时间 比较(lt)
   */
  private Date finishTimeLt;
  /**
   * 完成时间 比较(lte)
   */
  private Date finishTimeLte;
  /**
   * 完成时间 比较(contains)
   */
  private Date finishTimeContains;
  /**
   * 完成时间 比较(notcontains)
   */
  private Date finishTimeNotcontains;
  /**
   * 完成时间 比较(startswith)
   */
  private Date finishTimeStartswith;
  /**
   * 完成时间 比较(endswith)
   */
  private Date finishTimeEndswith;
  /**
   * 完成时间 比较(isnull)
   */
  private Boolean finishTimeIsnull;
  /**
   * 完成时间 比较(isnotnull)
   */
  private Boolean finishTimeIsnotnull;

  /**
   * 表单名称
   */
  private String formName;

  /**
   * 工作流状态
   */
  private Integer wfStatus;
}
